x-config-version: 2
type: object
properties:
  imageAvailability:
    type: object
    default: {}
    description: |
      Settings for monitoring the availability of images in the cluster.
    properties:
      exporterEnabled:
        type: boolean
        default: true
        description: |
          Enables imageAvailabilityExporter.
      ignoredImages:
        type: array
        x-examples:
        - ["alpine:3.10", "alpine:3.2"]
        description: |
          A list of images to ignore when checking the presence in the registry, e.g., `alpine:3.12` or `quay.io/test/test:v1.1`.
        items:
          type: string
      registry:
        type: object
        description: |
          Connection settings for container registry.
        default: {}
        properties:
          scheme:
            type: string
            description: |
              Container registry access scheme.
            enum: [HTTP, HTTPS]
            default: HTTPS
          tlsConfig:
            type: object
            description: |
              Connection settings for container registry.
            default: {}
            properties:
              insecureSkipVerify:
                type: boolean
                description: |
                  Whether to skip the verification of the container registry certificate.
                default: false
              ca:
                type: string
                description: |
                  Root CA certificate to validate the container registry's HTTPS certificate (if self-signed certificates are used).
      forceCheckDisabledControllers:
        type: array
        x-examples:
          - ["Deployment", "StatefulSet"]
        description: |
          A list of controller kinds for which image is forcibly checked, even when workloads are disabled or suspended.

          Specify `All` to check all controller kinds.
        items:
          type: string
          enum:
            - Deployment
            - StatefulSet
            - DaemonSet
            - CronJob
            - All
  events:
    type: object
    default: {}
    description: |
      Settings for monitoring the events in the Kubernetes cluster.
    properties:
      exporterEnabled:
        type: boolean
        default: false
        description: |
          Enables eventsExporter.
      severityLevel:
        type: string
        description: |
          Whether to expose only crutial events.
        enum: ["All", "OnlyWarnings"]
        default: "OnlyWarnings"
  certificates:
    type: object
    default: {}
    description: |
      Settings for monitoring the certificates in the Kubernetes cluster.
    properties:
      exporterEnabled:
        type: boolean
        default: false
        description: |
          Enables certExporter.
  nodeSelector:
    type: object
    additionalProperties:
      type: string
    description: |
      The same as in the pods' `spec.nodeSelector` parameter in Kubernetes.

      If the parameter is omitted or `false`, it will be determined [automatically](https://deckhouse.io/documentation/v1/#advanced-scheduling).
  tolerations:
    type: array
    description: |
      The same as in the pods' `spec.tolerations` parameter in Kubernetes;

      If the parameter is omitted or `false`, it will be determined [automatically](https://deckhouse.io/documentation/v1/#advanced-scheduling).
    items:
      type: object
      properties:
        effect:
          type: string
        key:
          type: string
        operator:
          type: string
        tolerationSeconds:
          type: integer
          format: int64
        value:
          type: string
